package com.glsc.ngateway.common.api.platform.dto.user;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * 功能描述: <br>
 *
 * @author gaojc
 * @date 2020/9/3 16:58
 */
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties({"hibernateLazyInitializer", "handler"})
public class UrlDto {
    private Long id;
    private String component;
    private String iconCls;
    private Integer keepAlive;
    @Builder.Default
    private Integer requireAuth = 1;
    private String name;
    private String url;
    @Builder.Default
    private String path = "";
    private Long parentId;
    @Builder.Default
    private Integer deleted = 0;
    private Long key;
    private String title;
    // 表示当前的层级，用于避免嵌套循环
    private int level;
    private Long value;
    private List<UrlDto> children;

}
